The present invention relates generally to video encoding systems, and, more particularly, to a video encoding system for encoding video data to a media stream and adaptively adjusting an intra-refresh rate.
In video applications that favor uniform (even) channel bandwidth utilization, intra-refresh encoding is more preferable than periodic key frame encoding. However, it is difficult to achieve random access of an intra-refresh encoded bit stream due to a lack of key frames. FIG. 1 shows a conventional media stream 100 including a plurality of frames 102 encoded using an intra-refresh scheme, where a certain frame 102a being decoded, indicated by a given random access point, requires information in already decoded reference frames 102b. As shown in FIG. 2, which illustrates the frame 102 in the media stream 100 that is formed with a plurality of macro blocks (MBs) 104, the MBs 104 include intra-MBs 106 that are decoded using information in the current frame, and inter-MBs 108 that are decoded using information in previously decoded reference frames. The video source is encoded to the plurality of frames based on a given intra-refresh rate, which determines the proportion of intra-MBs per frame. The encoding process also includes reconstructing the frames as reference frames for later frames by decoding the encoded frames so that both encoding and decoding will use identical reference frames.
In a conventional video encoding system, the given intra-refresh rate is fixed based on a target refresh period of the system within which the decoded video is expected to reach a good recovery from a random access point. However, a higher intra-refresh rate results in an actual refresh period that is shorter than the target refresh period but requires a higher bit rate. A lower intra-refresh rate requires a lower bit rate but results in a longer actual refresh period, which degrades the user experience. Therefore, it would be beneficial to be able to adaptively adjust the intra-refresh rate during encoding to achieve a refresh period near to the target refresh period.